ARMEdit: SWI Calls

ARMEdit_TalkRX

ARMEdit_TalkRX
(SWI &4BC44)
Check for any waiting messages for this client task

On entry:R0 =client handle for this task

On exit:R0 =pointer to block containing waiting message, or 0 if no messages waiting
R1 =source ID
R2 =source client handle

Interrupts:Interrupt status is undefined
Fast interrupts are enabled

Processor mode:Processor is in SVC mode

Re-entrancy:SWI is not re-entrant

Use: Check for any waiting messages. If none are available R0 contains 0 on exit, otherwise it contains a pointer to the first message. The message should be checked, and if it is claimed ARMEdit_TalkAck or ARMEdit_TalkReply should be called to prevent it being passed to other clients. Any information required from the message must be read or copied immediately, since the message could be overwritten by a new message.

The specified source client handle should be used for any reply; unlike the ID it uniquely identifies a particular instantiation of a client.

If this call is successful then it should be called again; it is possible for multiple messages to be pending for a single client.


Related SWIs:ARMEdit_TalkStart, ARMEdit_TalkEnd, ARMEdit_TalkTX, ARMEdit_TalkAck, ARMEdit_TalkReply

Related vectors:None

[Contents] [Up] Copyright © Alexander Thoukydides, 2001